#pragma once

#include <Dream.h>

class ExampleLayer : public Dream::Layer
{
public:
	ExampleLayer();
	virtual ~ExampleLayer() = default;

	virtual void OnAttach() override;
	virtual void OnDetach() override;

	void OnUpdate(Dream::Timestep ts) override;
	virtual void OnImGuiRender() override;
	void OnEvent(Dream::Event& e) override;
private:
	Dream::ShaderLibrary m_ShaderLibrary;
	Dream::Ref<Dream::Shader> m_Shader;
	Dream::Ref<Dream::VertexArray> m_VertexArray;

	Dream::Ref<Dream::Shader> m_FlatColorShader;
	Dream::Ref<Dream::VertexArray> m_SquareVA;

	Dream::Ref<Dream::Texture2D> m_Texture, m_ChernoLogoTexture;

	Dream::OrthographicCameraController m_CameraController;
	glm::vec3 m_SquareColor = { 0.2f, 0.3f, 0.8f };
};

